export interface ModelList {
  operaName?: string;
  tagIds?: Array<number | undefined>[];
  pageNo: number;
  pageSize: number;
}

export interface ModelInfo {
  id?: number | undefined;
  name: string;
  desc: string;
  cover: string;
  recommend: string;
  releaseYear: number | undefined;
  recordType: number | undefined;
  recordInfo: string;
  episodeNum: number | undefined;
  status: number | undefined;
  unblockCoinAmount: number | undefined;
  unblockCoinAmountMinLimit: number | undefined;
  chargeEpisodeNo: number | undefined;
  chargeEpisodeNoUpperLimit: number | undefined;
  premiereTime: string;
  promotionStartTime: string;
  tagIds?: Array<any>;
  coin?: number | undefined;
  [key: string]: any;
}

export interface ModelStatus {
  id: number;
  showStatus: number | undefined;
}

export interface ModelAgent {
  operaId?: number;
  operaIds?: Array<number>;
  agentIds: Array<string>;
}

export interface ModelTasks {
  operaId: number | undefined;
  appIds?: Array<number>;
  vodFileIds: Array<string>;
}

export interface ModelTaskDetail {
  operaId: number | undefined;
  appId?: number | undefined;
  status?: number | undefined;
  pageNo: number;
  pageSize: number;
}

interface ModelParams {
  recordType?: number | undefined;
  producer?: string;
  recordInfo?: string;
  reviewAppIds?: Array<number>;
}

export interface ModelOperasConfig {
  id: number;
  params: ModelParams;
}

export interface ModelIds {
  appId: number | undefined;
  materialId?: string;
  mediaId?: string;
}

export interface ModelConcat {
  operaId: number | undefined;
  subOperaId?: Array<number>;
}

// interface objModel {
//   tenantId?: number | undefined;
//   tenantName?: string;
// }
// export interface ModelResult {
//   id: number;
//   appId: string;
//   appName: string;
//   appType: string;
//   status: number | undefined;
//   owningTenant?: objModel | undefined;
//   pathIndex: string;
//   [keys: string]: any;
// }
